00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028 #ifndef DESURFACE_HPP
00029 #define DESURFACE_HPP
00030
00031 #include "deRenderStates.hpp"
00032 #include "deWorld.hpp"
00033
00034 #ifdef USING_DESTINY3D
00035 #ifdef _DEBUG
00036 # ifdef DESTINY3D_STATIC_LINK
00037 # pragma comment(lib, "deDriver_sd")
00038 # else
00039 # pragma comment(lib, "deDriverd")
00040 # endif //DESTINY3D_STATIC_LINK
00041 #else
00042 # ifdef DESTINY3D_STATIC_LINK
00043 # pragma comment(lib, "deDriver_s")
00044 # else
00045 # pragma comment(lib, "deDriver")
00046 # endif //DESTINY3D_STATIC_LINK
00047 #endif //_DEBUG
00048 #endif //USING_DESTINY3D
00049
00050 class IdeSurface;
00051
00052
00053
00054 RENDERSTATE_API IdeSurface* IdeSurface_CreateSurface();
00055
00056 RENDERSTATE_API long IdeSurface_GetWOInterfaceID();
00057
00058
00059
00060
00061 DE3D_INTERFACE(IdeSurface, IdeWorldObject)
00062 {
00063 protected:
00064 virtual ~IdeSurface() {}
00065 public:
00066
00067
00068 virtual void SetRenderTexture(IdeRenderTexture* pRT) = 0;
00069
00070 virtual void SetRenderMaterial(IdeRenderMaterial* pRM) = 0;
00071
00072 virtual IdeRenderTexture* GetRenderTexture() = 0;
00073 virtual IdeRenderMaterial* GetRenderMaterial() = 0;
00074 };
00075
00076
00077 DE3D_INTERFACE(IdeTextureSet, IdeRefCountBase)
00078 {
00079 protected:
00080 virtual ~IdeTextureSet() {}
00081 public:
00082
00083 virtual u32 GetNumTextures() const = 0;
00084 virtual const char* GetNameByIndex(s32 index) const = 0;
00085 virtual s32 GetIndexByName(const char* name) const = 0;
00086 virtual IdeBitmapProxy* GetTextureByIndex(s32 index) const = 0;
00087 virtual IdeBitmapProxy* GetTextureByName(const char* name) const = 0;
00088
00089 virtual deBoolean AddTextureName(const char* name, s32* index) = 0;
00090 virtual deBoolean SetTextureByIndex(s32 index, IdeBitmapProxy* tex) = 0;
00091 virtual deBoolean SetTextureByName(const char* name, IdeBitmapProxy* tex) = 0;
00092
00093 virtual IdeTextureSet* CloneTextureSet(const char** names) = 0;
00094 };
00095
00096 #endif //DESURFACE_HPP
00097